// AUTO GENERATED CODE!
// CODE GENERATOR WILL NOT PRESERVE MANUAL CHANGES TO THIS CODE!
// 

// MIT License (MIT)
// 
// Copyright (c) 2014 K Ercan Turkarslan
// 
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// 
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
// 


using System;

namespace Mios.Generated.ServiceFiles
{
    // Generated from S_ZWaveNetwork1.xml
    
    public class ZWaveNetwork1Service : MiosService
    {
        #region NetStatusID : Byte;
        private Byte? _mNetStatusID;
        
        public Byte NetStatusID
        {
            get
            {
                return _mNetStatusID ?? GetNetStatusID();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetNetStatusID() : Byte;
        public Byte GetNetStatusID()
        {
            _mNetStatusID = FromLuupByte(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "NetStatusID"));
            
            return _mNetStatusID.Value;
        }
        #endregion Action GetNetStatusID
        
        #endregion
        
        #region NetStatusText : String;
        private String _mNetStatusText;
        
        public String NetStatusText
        {
            get
            {
                return _mNetStatusText ?? GetNetStatusText();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetNetStatusText() : String;
        public String GetNetStatusText()
        {
            _mNetStatusText = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "NetStatusText"));
            
            return _mNetStatusText;
        }
        #endregion Action GetNetStatusText
        
        #endregion
        
        #region ActiveScenes : String;
        private String _mActiveScenes;
        
        public String ActiveScenes
        {
            get
            {
                return _mActiveScenes ?? GetActiveScenes();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetActiveScenes() : String;
        public String GetActiveScenes()
        {
            _mActiveScenes = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "ActiveScenes"));
            
            return _mActiveScenes;
        }
        #endregion Action GetActiveScenes
        
        #endregion
        
        #region LastError : String;
        private String _mLastError;
        
        public String LastError
        {
            get
            {
                return _mLastError ?? GetLastError();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetLastError() : String;
        public String GetLastError()
        {
            _mLastError = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "LastError"));
            
            return _mLastError;
        }
        #endregion Action GetLastError
        
        #endregion
        
        #region ResetMode : String;
        private String _mResetMode;
        
        public String ResetMode
        {
            get
            {
                return _mResetMode ?? GetResetMode();
            }
        }
        
        #region Action SetResetMode(String newResetMode) : String;
        public String SetResetMode(String newResetMode)
        {
            if (String.IsNullOrEmpty(newResetMode))
                throw new ArgumentNullException("newResetMode");
            
            switch(newResetMode)
            {
                case "SIS":
                case "SUC":
                case "None":
                    break;
                
                default:
                    throw new ArgumentOutOfRangeException("newResetMode");
            }
            
            return Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "SetResetMode",
                String.Format("newResetMode={0}", ToLuup(_mResetMode = newResetMode)));
        }
        #endregion Action SetResetMode
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetResetMode() : String;
        public String GetResetMode()
        {
            _mResetMode = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "ResetMode"));
            
            return _mResetMode;
        }
        #endregion Action GetResetMode
        
        #endregion
        
        #region InclusionMode : String;
        private String _mInclusionMode;
        
        public String InclusionMode
        {
            get
            {
                return _mInclusionMode ?? GetInclusionMode();
            }
        }
        
        #region Action SetInclusionMode(String newInclusionMode) : String;
        public String SetInclusionMode(String newInclusionMode)
        {
            if (String.IsNullOrEmpty(newInclusionMode))
                throw new ArgumentNullException("newInclusionMode");
            
            switch(newInclusionMode)
            {
                case "LowPower":
                case "FullPower":
                case "NetworkWide":
                    break;
                
                default:
                    throw new ArgumentOutOfRangeException("newInclusionMode");
            }
            
            return Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "SetInclusionMode",
                String.Format("newInclusionMode={0}", ToLuup(_mInclusionMode = newInclusionMode)));
        }
        #endregion Action SetInclusionMode
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetInclusionMode() : String;
        public String GetInclusionMode()
        {
            _mInclusionMode = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "InclusionMode"));
            
            return _mInclusionMode;
        }
        #endregion Action GetInclusionMode
        
        #endregion
        
        #region NodeType : String;
        private String _mNodeType;
        
        public String NodeType
        {
            get
            {
                return _mNodeType ?? GetNodeType();
            }
        }
        
        #region Action SetNodeType(String newNodeType) : String;
        public String SetNodeType(String newNodeType)
        {
            if (String.IsNullOrEmpty(newNodeType))
                throw new ArgumentNullException("newNodeType");
            
            switch(newNodeType)
            {
                case "Any":
                case "Controller":
                case "Slave":
                case "Stop":
                    break;
                
                default:
                    throw new ArgumentOutOfRangeException("newNodeType");
            }
            
            return Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "SetNodeType",
                String.Format("newNodeType={0}", ToLuup(_mNodeType = newNodeType)));
        }
        #endregion Action SetNodeType
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetNodeType() : String;
        public String GetNodeType()
        {
            _mNodeType = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "NodeType"));
            
            return _mNodeType;
        }
        #endregion Action GetNodeType
        
        #endregion
        
        #region Timeout : Byte;
        private Byte? _mTimeout;
        
        public Byte Timeout
        {
            get
            {
                return _mTimeout ?? GetTimeout();
            }
        }
        
        #region Action SetTimeout(Byte newTimeout) : String;
        public String SetTimeout(Byte newTimeout)
        {
            if(newTimeout > 600)
                throw new ArgumentOutOfRangeException("newTimeout");
            
            return Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "SetTimeout",
                String.Format("newTimeout={0}", ToLuup(_mTimeout = newTimeout)));
        }
        #endregion Action SetTimeout
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetTimeout() : Byte;
        public Byte GetTimeout()
        {
            _mTimeout = FromLuupByte(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "Timeout"));
            
            return _mTimeout.Value;
        }
        #endregion Action GetTimeout
        
        #endregion
        
        #region Multiple : Boolean;
        private Boolean? _mMultiple;
        
        public Boolean Multiple
        {
            get
            {
                return _mMultiple ?? GetMultiple();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetMultiple() : Boolean;
        public Boolean GetMultiple()
        {
            _mMultiple = FromLuupBoolean(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "Multiple"));
            
            return _mMultiple.Value;
        }
        #endregion Action GetMultiple
        
        #endregion
        
        #region Node : Byte;
        private Byte? _mNode;
        
        public Byte Node
        {
            get
            {
                return _mNode ?? GetNode();
            }
        }
        
        #region Action SetNode(Byte newNode) : String;
        public String SetNode(Byte newNode)
        {
            return Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "SetNode",
                String.Format("newNode={0}", ToLuup(_mNode = newNode)));
        }
        #endregion Action SetNode
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetNode() : Byte;
        public Byte GetNode()
        {
            _mNode = FromLuupByte(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "Node"));
            
            return _mNode.Value;
        }
        #endregion Action GetNode
        
        #endregion
        
        #region Device : UInt32;
        private UInt32? _mDevice;
        
        public UInt32 Device
        {
            get
            {
                return _mDevice ?? GetDevice();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetDevice() : UInt32;
        public UInt32 GetDevice()
        {
            _mDevice = FromLuupUInt32(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "Device"));
            
            return _mDevice.Value;
        }
        #endregion Action GetDevice
        
        #endregion
        
        #region PollingEnabled : Boolean;
        private Boolean? _mPollingEnabled;
        
        public Boolean PollingEnabled
        {
            get
            {
                return _mPollingEnabled ?? GetPollingEnabled();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetPollingEnabled() : Boolean;
        public Boolean GetPollingEnabled()
        {
            _mPollingEnabled = FromLuupBoolean(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "PollingEnabled"));
            
            return _mPollingEnabled.Value;
        }
        #endregion Action GetPollingEnabled
        
        #endregion
        
        #region PollDelayInitial : Byte;
        private Byte? _mPollDelayInitial;
        
        public Byte PollDelayInitial
        {
            get
            {
                return _mPollDelayInitial ?? GetPollDelayInitial();
            }
        }
        
        #region Action SetPollDelayInitial(Byte newPollDelayInitial) : String;
        public String SetPollDelayInitial(Byte newPollDelayInitial)
        {
            if(newPollDelayInitial > 600)
                throw new ArgumentOutOfRangeException("newPollDelayInitial");
            
            return Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "SetPollDelayInitial",
                String.Format("newPollDelayInitial={0}", ToLuup(_mPollDelayInitial = newPollDelayInitial)));
        }
        #endregion Action SetPollDelayInitial
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetPollDelayInitial() : Byte;
        public Byte GetPollDelayInitial()
        {
            _mPollDelayInitial = FromLuupByte(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "PollDelayInitial"));
            
            return _mPollDelayInitial.Value;
        }
        #endregion Action GetPollDelayInitial
        
        #endregion
        
        #region PollDelayDeadTime : Byte;
        private Byte? _mPollDelayDeadTime;
        
        public Byte PollDelayDeadTime
        {
            get
            {
                return _mPollDelayDeadTime ?? GetPollDelayDeadTime();
            }
        }
        
        #region Action SetPollDelayDeadTime(Byte newPollDelayDeadTime) : String;
        public String SetPollDelayDeadTime(Byte newPollDelayDeadTime)
        {
            if(newPollDelayDeadTime > 600)
                throw new ArgumentOutOfRangeException("newPollDelayDeadTime");
            
            return Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "SetPollDelayDeadTime",
                String.Format("newPollDelayDeadTime={0}", ToLuup(_mPollDelayDeadTime = newPollDelayDeadTime)));
        }
        #endregion Action SetPollDelayDeadTime
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetPollDelayDeadTime() : Byte;
        public Byte GetPollDelayDeadTime()
        {
            _mPollDelayDeadTime = FromLuupByte(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "PollDelayDeadTime"));
            
            return _mPollDelayDeadTime.Value;
        }
        #endregion Action GetPollDelayDeadTime
        
        #endregion
        
        #region PollMinDelay : Byte;
        private Byte? _mPollMinDelay;
        
        public Byte PollMinDelay
        {
            get
            {
                return _mPollMinDelay ?? GetPollMinDelay();
            }
        }
        
        #region Action SetPollMinDelay(Byte newPollMinDelay) : String;
        public String SetPollMinDelay(Byte newPollMinDelay)
        {
            if(newPollMinDelay > 600)
                throw new ArgumentOutOfRangeException("newPollMinDelay");
            
            return Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "SetPollMinDelay",
                String.Format("newPollMinDelay={0}", ToLuup(_mPollMinDelay = newPollMinDelay)));
        }
        #endregion Action SetPollMinDelay
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetPollMinDelay() : Byte;
        public Byte GetPollMinDelay()
        {
            _mPollMinDelay = FromLuupByte(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "PollMinDelay"));
            
            return _mPollMinDelay.Value;
        }
        #endregion Action GetPollMinDelay
        
        #endregion
        
        #region PollFrequency : Byte;
        private Byte? _mPollFrequency;
        
        public Byte PollFrequency
        {
            get
            {
                return _mPollFrequency ?? GetPollFrequency();
            }
        }
        
        #region Action SetPollFrequency(Byte newPollFrequency) : String;
        public String SetPollFrequency(Byte newPollFrequency)
        {
            if(newPollFrequency > 600)
                throw new ArgumentOutOfRangeException("newPollFrequency");
            
            return Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "SetPollFrequency",
                String.Format("newPollFrequency={0}", ToLuup(_mPollFrequency = newPollFrequency)));
        }
        #endregion Action SetPollFrequency
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetPollFrequency() : Byte;
        public Byte GetPollFrequency()
        {
            _mPollFrequency = FromLuupByte(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "PollFrequency"));
            
            return _mPollFrequency.Value;
        }
        #endregion Action GetPollFrequency
        
        #endregion
        
        #region Reload : Boolean;
        private Boolean? _mReload;
        
        public Boolean Reload
        {
            get
            {
                return _mReload ?? GetReload();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetReload() : Boolean;
        public Boolean GetReload()
        {
            _mReload = FromLuupBoolean(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "Reload"));
            
            return _mReload.Value;
        }
        #endregion Action GetReload
        
        #endregion
        
        #region Use45 : String;
        // WARNING: This state variable was not defined in the Service Description file.
        // However it was referenced by one or more Actions as their related state variable.
        // Or it was returned by Vera in USER_DATA xml.
        // This may be due to a typo in RelatedStateVariable definition or missing State Variable.
        
        private String _mUse45;
        
        public String Use45
        {
            get
            {
                return _mUse45 ?? GetUse45();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetUse45() : String;
        public String GetUse45()
        {
            _mUse45 = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "Use45"));
            
            return _mUse45;
        }
        #endregion Action GetUse45
        
        #endregion
        
        #region UseMR : String;
        // WARNING: This state variable was not defined in the Service Description file.
        // However it was referenced by one or more Actions as their related state variable.
        // Or it was returned by Vera in USER_DATA xml.
        // This may be due to a typo in RelatedStateVariable definition or missing State Variable.
        
        private String _mUseMR;
        
        public String UseMR
        {
            get
            {
                return _mUseMR ?? GetUseMR();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetUseMR() : String;
        public String GetUseMR()
        {
            _mUseMR = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "UseMR"));
            
            return _mUseMR;
        }
        #endregion Action GetUseMR
        
        #endregion
        
        #region LimitNeighbors : String;
        // WARNING: This state variable was not defined in the Service Description file.
        // However it was referenced by one or more Actions as their related state variable.
        // Or it was returned by Vera in USER_DATA xml.
        // This may be due to a typo in RelatedStateVariable definition or missing State Variable.
        
        private String _mLimitNeighbors;
        
        public String LimitNeighbors
        {
            get
            {
                return _mLimitNeighbors ?? GetLimitNeighbors();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetLimitNeighbors() : String;
        public String GetLimitNeighbors()
        {
            _mLimitNeighbors = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "LimitNeighbors"));
            
            return _mLimitNeighbors;
        }
        #endregion Action GetLimitNeighbors
        
        #endregion
        
        #region LastUpdate : String;
        // WARNING: This state variable was not defined in the Service Description file.
        // However it was referenced by one or more Actions as their related state variable.
        // Or it was returned by Vera in USER_DATA xml.
        // This may be due to a typo in RelatedStateVariable definition or missing State Variable.
        
        private String _mLastUpdate;
        
        public String LastUpdate
        {
            get
            {
                return _mLastUpdate ?? GetLastUpdate();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetLastUpdate() : String;
        public String GetLastUpdate()
        {
            _mLastUpdate = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "LastUpdate"));
            
            return _mLastUpdate;
        }
        #endregion Action GetLastUpdate
        
        #endregion
        
        #region LockComPort : String;
        // WARNING: This state variable was not defined in the Service Description file.
        // However it was referenced by one or more Actions as their related state variable.
        // Or it was returned by Vera in USER_DATA xml.
        // This may be due to a typo in RelatedStateVariable definition or missing State Variable.
        
        private String _mLockComPort;
        
        public String LockComPort
        {
            get
            {
                return _mLockComPort ?? GetLockComPort();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetLockComPort() : String;
        public String GetLockComPort()
        {
            _mLockComPort = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "LockComPort"));
            
            return _mLockComPort;
        }
        #endregion Action GetLockComPort
        
        #endregion
        
        #region ComPort : String;
        // WARNING: This state variable was not defined in the Service Description file.
        // However it was referenced by one or more Actions as their related state variable.
        // Or it was returned by Vera in USER_DATA xml.
        // This may be due to a typo in RelatedStateVariable definition or missing State Variable.
        
        private String _mComPort;
        
        public String ComPort
        {
            get
            {
                return _mComPort ?? GetComPort();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetComPort() : String;
        public String GetComPort()
        {
            _mComPort = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "ComPort"));
            
            return _mComPort;
        }
        #endregion Action GetComPort
        
        #endregion
        
        #region VersionInfo : String;
        // WARNING: This state variable was not defined in the Service Description file.
        // However it was referenced by one or more Actions as their related state variable.
        // Or it was returned by Vera in USER_DATA xml.
        // This may be due to a typo in RelatedStateVariable definition or missing State Variable.
        
        private String _mVersionInfo;
        
        public String VersionInfo
        {
            get
            {
                return _mVersionInfo ?? GetVersionInfo();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetVersionInfo() : String;
        public String GetVersionInfo()
        {
            _mVersionInfo = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "VersionInfo"));
            
            return _mVersionInfo;
        }
        #endregion Action GetVersionInfo
        
        #endregion
        
        #region HomeID : String;
        // WARNING: This state variable was not defined in the Service Description file.
        // However it was referenced by one or more Actions as their related state variable.
        // Or it was returned by Vera in USER_DATA xml.
        // This may be due to a typo in RelatedStateVariable definition or missing State Variable.
        
        private String _mHomeID;
        
        public String HomeID
        {
            get
            {
                return _mHomeID ?? GetHomeID();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetHomeID() : String;
        public String GetHomeID()
        {
            _mHomeID = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "HomeID"));
            
            return _mHomeID;
        }
        #endregion Action GetHomeID
        
        #endregion
        
        #region Role : String;
        // WARNING: This state variable was not defined in the Service Description file.
        // However it was referenced by one or more Actions as their related state variable.
        // Or it was returned by Vera in USER_DATA xml.
        // This may be due to a typo in RelatedStateVariable definition or missing State Variable.
        
        private String _mRole;
        
        public String Role
        {
            get
            {
                return _mRole ?? GetRole();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetRole() : String;
        public String GetRole()
        {
            _mRole = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "Role"));
            
            return _mRole;
        }
        #endregion Action GetRole
        
        #endregion
        
        #region LastDongleBackup : String;
        // WARNING: This state variable was not defined in the Service Description file.
        // However it was referenced by one or more Actions as their related state variable.
        // Or it was returned by Vera in USER_DATA xml.
        // This may be due to a typo in RelatedStateVariable definition or missing State Variable.
        
        private String _mLastDongleBackup;
        
        public String LastDongleBackup
        {
            get
            {
                return _mLastDongleBackup ?? GetLastDongleBackup();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetLastDongleBackup() : String;
        public String GetLastDongleBackup()
        {
            _mLastDongleBackup = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "LastDongleBackup"));
            
            return _mLastDongleBackup;
        }
        #endregion Action GetLastDongleBackup
        
        #endregion
        
        #region SceneIDs : String;
        // WARNING: This state variable was not defined in the Service Description file.
        // However it was referenced by one or more Actions as their related state variable.
        // Or it was returned by Vera in USER_DATA xml.
        // This may be due to a typo in RelatedStateVariable definition or missing State Variable.
        
        private String _mSceneIDs;
        
        public String SceneIDs
        {
            get
            {
                return _mSceneIDs ?? GetSceneIDs();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetSceneIDs() : String;
        public String GetSceneIDs()
        {
            _mSceneIDs = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "SceneIDs"));
            
            return _mSceneIDs;
        }
        #endregion Action GetSceneIDs
        
        #endregion
        
        #region LastHeal : String;
        // WARNING: This state variable was not defined in the Service Description file.
        // However it was referenced by one or more Actions as their related state variable.
        // Or it was returned by Vera in USER_DATA xml.
        // This may be due to a typo in RelatedStateVariable definition or missing State Variable.
        
        private String _mLastHeal;
        
        public String LastHeal
        {
            get
            {
                return _mLastHeal ?? GetLastHeal();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetLastHeal() : String;
        public String GetLastHeal()
        {
            _mLastHeal = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "LastHeal"));
            
            return _mLastHeal;
        }
        #endregion Action GetLastHeal
        
        #endregion
        
        #region TO3066 : String;
        // WARNING: This state variable was not defined in the Service Description file.
        // However it was referenced by one or more Actions as their related state variable.
        // Or it was returned by Vera in USER_DATA xml.
        // This may be due to a typo in RelatedStateVariable definition or missing State Variable.
        
        private String _mTO3066;
        
        public String TO3066
        {
            get
            {
                return _mTO3066 ?? GetTO3066();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetTO3066() : String;
        public String GetTO3066()
        {
            _mTO3066 = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "TO3066"));
            
            return _mTO3066;
        }
        #endregion Action GetTO3066
        
        #endregion
        
        #region LastRouteFailure : String;
        // WARNING: This state variable was not defined in the Service Description file.
        // However it was referenced by one or more Actions as their related state variable.
        // Or it was returned by Vera in USER_DATA xml.
        // This may be due to a typo in RelatedStateVariable definition or missing State Variable.
        
        private String _mLastRouteFailure;
        
        public String LastRouteFailure
        {
            get
            {
                return _mLastRouteFailure ?? GetLastRouteFailure();
            }
        }
        
        // WARNING: Service Description File does not contain any Get Action with a
        // argument related to this State Variable.
        // 
        // This may be due to a typo while defining the Get Action or state variable.
        // This may also be intentional. Code generator assumes this was a mistake and
        // generates this Get Action.
        
        #region Action GetLastRouteFailure() : String;
        public String GetLastRouteFailure()
        {
            _mLastRouteFailure = FromLuupString(Engine.Luup_VariableGet(base.DeviceId, base.ServiceId, "LastRouteFailure"));
            
            return _mLastRouteFailure;
        }
        #endregion Action GetLastRouteFailure
        
        #endregion
        
        
        #region Action ResetNetwork(String resetMode, String homeID, Boolean zeroMemory)
        public void ResetNetwork(String resetMode, String homeID, Boolean zeroMemory)
        {
            if (String.IsNullOrEmpty(resetMode))
                throw new ArgumentNullException("resetMode");
            
            Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "ResetNetwork"
                , String.Format("ResetMode={0}", ToLuup(resetMode))
                , homeID == null ? "" : String.Format("HomeID={0}", ToLuup(homeID))
                , String.Format("ZeroMemory={0}", ToLuup(zeroMemory))
                ); // Engine.Luup_CallAction
        }
        #endregion Action ResetNetwork
        
        #region Action PutByte(String startAddress, String stopAddress, String value)
        public void PutByte(String startAddress, String stopAddress, String value)
        {
            if (String.IsNullOrEmpty(startAddress))
                throw new ArgumentNullException("startAddress");
            
            if (String.IsNullOrEmpty(value))
                throw new ArgumentNullException("value");
            
            Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "PutByte"
                , String.Format("StartAddress={0}", ToLuup(startAddress))
                , stopAddress == null ? "" : String.Format("StopAddress={0}", ToLuup(stopAddress))
                , String.Format("Value={0}", ToLuup(value))
                ); // Engine.Luup_CallAction
        }
        #endregion Action PutByte
        
        #region Action ReconfigureAllNodes(Boolean failedOnly)
        public void ReconfigureAllNodes(Boolean failedOnly)
        {
            Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "ReconfigureAllNodes"
                , String.Format("FailedOnly={0}", ToLuup(failedOnly))
                ); // Engine.Luup_CallAction
        }
        #endregion Action ReconfigureAllNodes
        
        #region Action UpdateNetwork()
        public void UpdateNetwork()
        {
            Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "UpdateNetwork");
        }
        #endregion Action UpdateNetwork
        
        #region Action UpdateNeighbors(UInt32 device)
        public void UpdateNeighbors(UInt32 device)
        {
            Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "UpdateNeighbors"
                , String.Format("Device={0}", ToLuup(device))
                ); // Engine.Luup_CallAction
        }
        #endregion Action UpdateNeighbors
        
        #region Action BackupDongle(Boolean restore)
        public void BackupDongle(Boolean restore)
        {
            Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "BackupDongle"
                , String.Format("Restore={0}", ToLuup(restore))
                ); // Engine.Luup_CallAction
        }
        #endregion Action BackupDongle
        
        #region Action PollAllNodes()
        public void PollAllNodes()
        {
            Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "PollAllNodes");
        }
        #endregion Action PollAllNodes
        
        #region Action RemoveNodes(String inclusionMode, String nodeType, Byte timeout, Boolean multiple, Boolean reload)
        public void RemoveNodes(String inclusionMode, String nodeType, Byte timeout, Boolean multiple, Boolean reload)
        {
            if (String.IsNullOrEmpty(inclusionMode))
                throw new ArgumentNullException("inclusionMode");
            
            if (String.IsNullOrEmpty(nodeType))
                throw new ArgumentNullException("nodeType");
            
            Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "RemoveNodes"
                , String.Format("InclusionMode={0}", ToLuup(inclusionMode))
                , String.Format("NodeType={0}", ToLuup(nodeType))
                , String.Format("Timeout={0}", ToLuup(timeout))
                , String.Format("Multiple={0}", ToLuup(multiple))
                , String.Format("Reload={0}", ToLuup(reload))
                ); // Engine.Luup_CallAction
        }
        #endregion Action RemoveNodes
        
        #region Action AddNodes(String inclusionMode, String nodeType, Byte timeout, Boolean multiple, Boolean controllerShift, Boolean reload)
        public void AddNodes(String inclusionMode, String nodeType, Byte timeout, Boolean multiple, Boolean controllerShift, Boolean reload)
        {
            if (String.IsNullOrEmpty(inclusionMode))
                throw new ArgumentNullException("inclusionMode");
            
            if (String.IsNullOrEmpty(nodeType))
                throw new ArgumentNullException("nodeType");
            
            Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "AddNodes"
                , String.Format("InclusionMode={0}", ToLuup(inclusionMode))
                , String.Format("NodeType={0}", ToLuup(nodeType))
                , String.Format("Timeout={0}", ToLuup(timeout))
                , String.Format("Multiple={0}", ToLuup(multiple))
                , String.Format("ControllerShift={0}", ToLuup(controllerShift))
                , String.Format("Reload={0}", ToLuup(reload))
                ); // Engine.Luup_CallAction
        }
        #endregion Action AddNodes
        
        #region Action DownloadNetwork()
        public void DownloadNetwork()
        {
            Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "DownloadNetwork");
        }
        #endregion Action DownloadNetwork
        
        #region Action HealNetwork(Byte batteryMinutes, Byte node, Byte stressCycles, Boolean configure, Boolean manualRoute, Byte startStage, Byte stopStage)
        public void HealNetwork(Byte batteryMinutes, Byte node, Byte stressCycles, Boolean configure, Boolean manualRoute, Byte startStage, Byte stopStage)
        {
            Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "HealNetwork"
                , String.Format("BatteryMinutes={0}", ToLuup(batteryMinutes))
                , String.Format("Node={0}", ToLuup(node))
                , String.Format("StressCycles={0}", ToLuup(stressCycles))
                , String.Format("Configure={0}", ToLuup(configure))
                , String.Format("ManualRoute={0}", ToLuup(manualRoute))
                , String.Format("StartStage={0}", ToLuup(startStage))
                , String.Format("StopStage={0}", ToLuup(stopStage))
                ); // Engine.Luup_CallAction
        }
        #endregion Action HealNetwork
        
        #region Action SetPolling(Boolean isTemporary, Boolean pollingEnabled, Byte pollDelayInitial, Byte pollDelayDeadTime, Byte pollMinDelay, Byte pollFrequency)
        public void SetPolling(Boolean isTemporary, Boolean pollingEnabled, Byte pollDelayInitial, Byte pollDelayDeadTime, Byte pollMinDelay, Byte pollFrequency)
        {
            Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "SetPolling"
                , String.Format("IsTemporary={0}", ToLuup(isTemporary))
                , String.Format("PollingEnabled={0}", ToLuup(pollingEnabled))
                , String.Format("PollDelayInitial={0}", ToLuup(pollDelayInitial))
                , String.Format("PollDelayDeadTime={0}", ToLuup(pollDelayDeadTime))
                , String.Format("PollMinDelay={0}", ToLuup(pollMinDelay))
                , String.Format("PollFrequency={0}", ToLuup(pollFrequency))
                ); // Engine.Luup_CallAction
        }
        #endregion Action SetPolling
        
        #region Action SendData(Byte node, String data)
        public void SendData(Byte node, String data)
        {
            if (String.IsNullOrEmpty(data))
                throw new ArgumentNullException("data");
            
            Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "SendData"
                , String.Format("Node={0}", ToLuup(node))
                , String.Format("Data={0}", ToLuup(data))
                ); // Engine.Luup_CallAction
        }
        #endregion Action SendData
        
        #region Action SimulateIncomingData(String data)
        public void SimulateIncomingData(String data)
        {
            if (String.IsNullOrEmpty(data))
                throw new ArgumentNullException("data");
            
            Engine.Luup_CallAction(base.DeviceId, base.ServiceId, "SimulateIncomingData"
                , String.Format("Data={0}", ToLuup(data))
                ); // Engine.Luup_CallAction
        }
        #endregion Action SimulateIncomingData
        
        
        #region Method SetVariable(String name, String value) : Boolean;
        internal override Boolean SetVariable(String name, String value)
        {
            switch(name)
            {
                case "ActiveScenes":
                    _mActiveScenes = FromLuupString(value); return true;
                case "ComPort":
                    _mComPort = FromLuupString(value); return true;
                case "Device":
                    _mDevice = FromLuupUInt32(value); return true;
                case "HomeID":
                    _mHomeID = FromLuupString(value); return true;
                case "InclusionMode":
                    _mInclusionMode = FromLuupString(value); return true;
                case "LastDongleBackup":
                    _mLastDongleBackup = FromLuupString(value); return true;
                case "LastError":
                    _mLastError = FromLuupString(value); return true;
                case "LastHeal":
                    _mLastHeal = FromLuupString(value); return true;
                case "LastRouteFailure":
                    _mLastRouteFailure = FromLuupString(value); return true;
                case "LastUpdate":
                    _mLastUpdate = FromLuupString(value); return true;
                case "LimitNeighbors":
                    _mLimitNeighbors = FromLuupString(value); return true;
                case "LockComPort":
                    _mLockComPort = FromLuupString(value); return true;
                case "Multiple":
                    _mMultiple = FromLuupBoolean(value); return true;
                case "NetStatusID":
                    _mNetStatusID = FromLuupByte(value); return true;
                case "NetStatusText":
                    _mNetStatusText = FromLuupString(value); return true;
                case "Node":
                    _mNode = FromLuupByte(value); return true;
                case "NodeType":
                    _mNodeType = FromLuupString(value); return true;
                case "PollDelayDeadTime":
                    _mPollDelayDeadTime = FromLuupByte(value); return true;
                case "PollDelayInitial":
                    _mPollDelayInitial = FromLuupByte(value); return true;
                case "PollFrequency":
                    _mPollFrequency = FromLuupByte(value); return true;
                case "PollingEnabled":
                    _mPollingEnabled = FromLuupBoolean(value); return true;
                case "PollMinDelay":
                    _mPollMinDelay = FromLuupByte(value); return true;
                case "Reload":
                    _mReload = FromLuupBoolean(value); return true;
                case "ResetMode":
                    _mResetMode = FromLuupString(value); return true;
                case "Role":
                    _mRole = FromLuupString(value); return true;
                case "SceneIDs":
                    _mSceneIDs = FromLuupString(value); return true;
                case "Timeout":
                    _mTimeout = FromLuupByte(value); return true;
                case "TO3066":
                    _mTO3066 = FromLuupString(value); return true;
                case "Use45":
                    _mUse45 = FromLuupString(value); return true;
                case "UseMR":
                    _mUseMR = FromLuupString(value); return true;
                case "VersionInfo":
                    _mVersionInfo = FromLuupString(value); return true;
                default:
                    return false;
            }
        }
        #endregion Method SetVariable
        
        public ZWaveNetwork1Service(MiosEngine engine, UInt32 deviceId, String serviceId)
            : base(engine, deviceId, serviceId)
        {
            
        } //End Constructor
    } //End of class
} //End of Namespace

